package demo;

import demo.inside.Facade;

/**
 * 外观模式
 * 要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行
 * 外观模式提供一个高层次的接口，使得子系统更容易使用
 * @author ZhouWeiBo
 * @create 2022/6/6
 */
public class App {
    public static void main(String[] args) {
        /**
         * 正常情况下客户端执行完整个流程需要如下负责的步骤
         */
        //Step1 step1 = new Step1();
        //Step2 step2 = new Step2();
        //Step3 step3 = new Step3();
        //step1.doSomeThing();
        //step2.doSomeThing();
        //step3.doSomeThing();

        /**
         * 此时引入外观设计模式
        */
        Facade facade = new Facade();
        facade.autoExecutionStep();
    }
}
